package com.cloud.activiti.listener;

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.springframework.stereotype.Component;

import java.io.Serializable;

/**
 * 任务监听器
 * 任务监听器顾名思义是监听任务的。
 * 任务监听器的生命周期如下，
 * 会经历assignment、create、complete、delete。
 * 当流程引擎触发这四种事件类型时，
 * 对应的任务监听器会捕获其事件类型，
 * 再按照监听器的处理逻辑进行处理。
 */
@Component
public class CustomizeTaskListener implements TaskListener, Serializable {

    @Override
    public void notify(DelegateTask delegateTask) {
        System.out.println("任务监听器" + delegateTask);
        String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
        String eventName = delegateTask.getEventName();
        System.out.println("事件名称:" + eventName);
        System.out.println("taskDefinitionKey:" + taskDefinitionKey);
    }
}
